草庐IT

C++98 诉 C++11 std::set::insert 规范

全部标签

c++ - 为什么 std::codecvt<wchar_t, char, mbstate_t> 不能按定义工作?

#includeusingnamespacestd;voidf1(){wcout.imbue(locale("chs"));wcout());wcout.imbue(loc);wcout根据cplusplus.com的在线文档:codecvt:convertsbetweennativewideandnarrowcharactersets.本程序用VC++编译,Windows运行。在本程序中,内部字符集为UCS-2,由VC++编译器定义;外部字符集,即窄字符集,在控制台环境下是GBK(中文字符集)。如果文档为真,则wcout可以像f1()一样将unicode字符串从UCS-2转换为GBK

Windows 批处理文件 : set string+number variables to contents of cmd-line parameters?

我正在尝试编写一个批处理文件,将名为VPARM1、VPARM2等的变量设置为命令行变量%1、%2等的内容。这有一个转折点:如果%1,%2,etc是现有文件的名称,我想将其解析为路径和文件名并清除原始变量。在另一个线程中,MattWilliamson向我展示了如何将现有文件的名称解析为它的各个部分,就像这样(他的代码):@echooffsetlocalEnableDelayedExpansionFOR%%aIN(%*)DO(ifexist%%asetVDOSPATH="%%~dpa"ifexist%%asetVDOSFILE="%%~nxa"echo(!VDOSPATH!!VDOSFIL

python - 使用 Python,如何在 Windows 上删除给定文件规范(例如 "*.obj")的文件?

这个问题在这里已经有了答案:Getafilteredlistoffilesinadirectory(14个答案)关闭8年前。在Windows上如何删除给定文件规范(例如“*.obj”)的文件?我目前使用的是Windows7和8.1。显然os.remove不接受文件规范(“filespec”是一个粗略的正则表达式,用于包含通配符,例如*.txt表示所有以“.txt”结尾的文件)。

windows - PowerShell:(ConvertTo-* | Set-Content) 和 (Export-*) 之间的区别?

我是PowerShell的新手,正在尝试以编写方式学习,我注意到在这种情况下我可以以多种不同的方式导出数据,我想问的是这种情况,Get-Process|ConvertTo-Csv|Set-Content-Path.\Process.txt和:Get-Process|Export-Csv-Path.\Process.txt两者都将进程列表导出到我桌面上的CSV文件中,并给出相同的结果。第一个:首先将流程转换为CSV,然后将其写入文件。第二个:将进程直接导出到文件。这两种情况之间到底有什么区别,是否存在性能差异、执行时间差异或其他我不知道的问题? 最佳答案

Windows 批处理命令 : How to dereference FOR loop variable to check if that variable is SET in Environment Variable

我正在编写一个批处理命令脚本,其中检查环境变量。我需要通过传递所有必需的变量来编写一个FOR循环,然后验证它是否已定义,如果未定义,则提示该键的值并永久设置该变量。问题是我无法取消引用循环变量并在环境变量中检查它。示例代码如下:@ECHOOFFSETLOCALENABLEDELAYEDEXPANSIONFOR%%GIN(JBOSS_HOME,JAVA_HOME,ANT_HOME,PERFORCE_PATH,P4CLIENT)DO(ECHO.ECHO.LoopItem:%%G::CallafunctionbysendingeachvaluetocheckifitissetinENVIRO

c++ - 将 unicode(带 BOM)字符串转换为 ASCII std::string

我有一个带有初始BOM的unicode字符串(一系列字节)(它通常是UTF-16little-endian)我需要将其转换为ASCIIstd::string。我尝试使用thissolution但它不适用于visualstudio2015.我怎样才能转换那一系列的字节?目标系统将是Windows。 最佳答案 这应该适用于visualstudio。此函数永远不应内联,因为它会在堆栈上分配临时可变大小的缓冲区。std::stringtoMultibyte(constwchar_t*src,UINTcodepage=CP_ACP){intw

windows - 批处理命令如何为 set/p 制作列表

我正在尝试制作一个要求用户输入的批处理脚本。用户输入应限于某些词。如果用户输入任何其他词而不是例如(eng,ger,fra)用户将收到类似“请输入语言”之类的回显。我还想将用户输入存储为一个变量,以便在批处理文件中进一步使用。我目前拥有的是::Get_ISOlanguageset"ISOlanguage="set/pISOlanguage=EntersubtitlelanguageinISO639-2standardabbreviation:ifnotdefinedISOlanguageechoYoumustenteravalue.Tryagain.&gotoGet_ISOlangua

windows - 如何使用 powershell 4.0 set-acl 允许用户在新创建的子目录中具有相同的安全设置?

当我通过set-acl设置用户访问权限时,我可以遍历所有现有的子文件夹。如何将其设置为包括以后在主文件夹下创建的子文件夹?此外...一旦设置了访问权限,它只会显示在文件夹的“高级”设置中。第一个安全屏幕显示用户但没有访问权限。这是在WindowsServer2012R2中。$SubFolder="name"$UserName="domain\"+$SubFolder$Folder="R:\UserFiles\"+$SubFolder+"\"$Acl=Get-Acl$Folder$Ar=New-Objectsystem.security.accesscontrol.filesystema

C++ - 如何获取正在运行的进程的 .exe 路径作为 std::string?

我有一个程序需要将文件放在与已运行的Windows进程相同的目录中。如何将此目录检索为std::string以便我可以在正确的位置写入?我知道这不是什么大问题,但我确实用Google搜索了很多次,但我找不到任何与解决方案类似的东西。编辑:我正在使用Code::Blocks,因此最好是不特定于单个IDE功能的解决方案。 最佳答案 如果您为Windows开发程序,您可以使用GetModuleFilename()API调用,然后从整个路径中删除文件名部分。这是示例:#include"stdafx.h"#include#include#in

在 Linux 上使用 MinGW 为 Windows 编译 Gnu11

我有一个C程序;它使用gcc-std=gnu11iter.c-oiter进行编译和链接,因为我正在使用一些GNUstring.h扩展,例如strndup,strnlen和strsep。我想在UbuntuLinux上使用包i686-w64-mingw32-gcc为Windows编译这个程序。$i686-w64-mingw32-gcc-std=gnu11iter.c-oiter32.exeInfileincludedfromiter.c:1:0:iter.h:Infunction‘str_chomp’:iter.h:166:15:warning:implicitdeclarationoff